/*
 * @FileName: Constant.java
 * 
 * @Author
 * 
 * @Description:
 * 
 * @Date 2016年1月8日 下午4:54:53
 * 
 * @CopyRight ZTE Corporation
 */
package cn.hpclub.server.constant;

/**
 * Class description goes here
 *
 * @author
 */
public interface Constant{

    // 通用
    public static final String IDS                             = "ids";

    public static final int    APPID                           = 100000056;
    public static final String DZG_APPID                       = "100000056";
    public static final int    MAX_ORG_LEVEL                   = 3;

    public static final String PRIVATEKEY                      = "privatekey";
    public static final String PUBLICKEY                       = "publickey";

    public static final String RECHARGE_BUSINESS_CODE          = "4001";        // 充值缴费业务代码
    public static final String RECHARGE_MODULECODE             = "8000";        // 充值缴费模块code
    public static final String RECHARGE_BUSINESS_NAME          = "充值缴费";        // 充值缴费业务名称

    // 业务配置相关
    public static final String BUSINESS_CONFIG_TYPE_BROADBAND  = "1001";        // 校园宽带类型值

    // 资费类业务活动类型小类CODE
    public static final String ACTIVITY_TYPE_SYS_CODE          = "HDLX";        // sys_code_value表中的code值
    // 泛店员业务类型小类CODE
    public static final String SPREAD_MEMBER_BUS_TYPE_SYS_CODE = "SM_BUS_TYPE"; // sys_code_value表中的code值

    public static final String GENERAL_MEMBER_BUS_TYPE_SYS_CODE = "GM_BUS_TYPE"; // sys_code_value表中的code值

    public static final int    SM_BUSINESS_TYPE_START          = 1000;          // 泛店员非资费类业务类型值从1000开始

    // 表名
    public interface Table{
        final static String SCHOOL_SUBJECT_REPORT = "school_subject_report";
        final static String SCHOOL_SUBJECT_REPORT_MONTH = "school_subject_report_month";
        final static String ORGANIZATION                    = "organization";              // 机构信息表
        final static String ORGANIZATION_CLASS              = "organization_class";        // 机构网店类型表
        final static String ORGANIZATION_TEST               = "organization_test";         // 机构导入测试表
        final static String ORGANIZATION_CLASS_MAP          = "organization_class_map";    // 机构类型映射表

        final static String BUSIENSS                        = "business";                  // 资费基本表
        final static String TABLE_BUSINESS_AUTH_CONFIG      = "business_auth_config";
        final static String TABLE_BUSINESS_AUTH_CONFIG_TEMP = "business_auth_config_temp";
        final static String MULTI_USER_CONFIG               = "multi_user_config";
        final static String REWARD                          = "reward";                    // 预估酬金表
        final static String REWARD_CHANNEL                  = "reward_channel";            // 预估酬金渠道表
        final static String PACKAGE                         = "package";                   // 资费基本表
        final static String SALE_PROMOTION                  = "sales_promotion";           // 业务办理表
        final static String THEMES                          = "themes";                    // 主题表
        final static String DEVICE_VERSION                  = "device_version";            // 版本列表
        final static String MEMBER_ORG                      = "member_org";                // 人员管理
        final static String SMS_CODE                        = "sms_code";                  // 短信验证码
        final static String SERVICE_RESERVATION             = "service_reservation";       // 宽带预约订单
        final static String SMS_CODE_LOGIN                  = "sms_code_login";            // 短信验证码(登录)
        final static String SMS_CODE_RECORD                 = "sms_code_record";           // 短信验证码次数记录
        final static String CMCC_CITY                       = "cmcc_city";                 // 移动地市数据
        final static String MEMBER_WHITE                    = "member_white_list";         // 白名单人员
        final static String SYS_USER                        = "sys_user";                  // 管理员信息表
        final static String BROADBAND                       = "broadband";                 // 宽带资费信息表

        final static String SKU                             = "sku";                       // SKU集合表
        final static String SKU_OPT                         = "sku_opt";                   // SKU可选值表
        final static String ATTR_SET                        = "attr_set";                  // 属性集基本表
        final static String ATTR_SET_SKU                    = "attr_set_sku";              // 属性SKU关系表
        // final static String ATTR_SET = "attr_set"; // 属性集基本表
        // final static String ATTR_SET_SKU = "attr_set_sku"; // 属性SKU关系表

        final static String TARIFF_CLASS                    = "tariff_class";              // 资费大类
        final static String TARIFF_CLASS_RELATION           = "tariff_class_relation";     // 资费大类-资费关系

        final static String TABLE_SPREAD_MEMBER_AUTH_CONFIG = "spread_member_auth_config"; // 泛店员业务权限配置表

        final static String PRODUCT                         = "product";                   // 商品表
        final static String TARIFF                          = "tariff";                    // 资费小类表

        final static String TABLE_SPREAD_MEMBER_REGISTER    = "spreader_register";         // 泛店员注册
        final static String TABLE_PAPERLESS_INFO    = "paperless_info";
    }

    public interface ModuleName{
        public static final String JIAOFEI  = "缴费订单";
        public static final String KAIKA    = "实名开卡";
        public static final String XUANHAO  = "选号入网";
        public static final String ZIFEI    = "资费办理";
        public static final String BUDENGJI = "实名补登记";
        public static final String YINGXIAO = "营销活动";
        public static final String KUANDAI  = "宽带预约";
        public static final String TERMINAL = "终端销售";
        public static final String DEFAULT  = "默认";
    }

    public interface ModuleID{
        public static final int JIAOFEI  = 1;
        public static final int KAIKA    = 2;
        public static final int XUANHAO  = 3;
        public static final int ZIFEI    = 4;
        public static final int BUDENGJI = 5;
        public static final int YINGXIAO = 6;
        public static final int KUANDAI  = 7;
        public static final int TERMINAL = 8;
    }

    // 正则表达式
    public interface Regex{
        final static String AMOUNT            = "^[0-9]+([.]{1}[0-9]+){0,1}$";    // 金额小数
        static final String ALPHABETS_NUMBERS = "^[0-9a-zA-Z]*$";                 // 資費代碼，純數字或者字母
        final static String DOUBLE_PRICE      = "^\\d{1,10}\\.{0,1}(\\d{1,2})?$"; // 整数10位，小数2位。用于选号套餐价格
        final static String NUMBER            = "^[0-9]*$";                       // 纯数字
        final static String MOBILE            = "^1[3|4|5|7|8]\\d{9}$";           // 手机号码，粗略匹配
        // final static String MOBILEPHONE =
        // "^((13[0-9])|(15[^4,\\D])|(18[0,2,5-9]))\\d{8}$"; //包含移动 联通比较精确的匹配
    }

    public interface Msg{
        final static String DEL_FAILED = "删除失败";
        final static String DEL_DONE   = "删除成功";

    }
    /**
     * 支付相关业务类型
     */
    public interface PayServiceType{
        public static final String RECHARGE = "C"; // 充值缴费
        public static final String PACKAGE  = "K"; // 选号入网
    }
    public interface Ui{
        final static String PAGER        = "pager";
        final static String PAGER_SIZE   = "pageSize";
        final static String PAGER_NUMBER = "pageNumber";
    }

    public interface Url{
        // public static final String QRY_RANDPASS_NTK =
        // "http://120.25.225.52:7080/dpr/service/sQryRandPassNTK.json"; //
        // 发送验证码，上线后替换掉
        public static final String ENCODE_URL               = "/service/getConvertStr.json";                          // 参数编码
        public static final String SEND_RAND_PASS           = "/service/sendRandPass.json";                           // 发送验证码，上线后使用
        public static final String VALID_RAND_PASS          = "/service/validRandPass.json";                          // 验证验证码，上线后使用
        public static final String CUST_REAL_CHK            = "/service/sCustRealChk.json";                           // 验证用户是否实名认证
        public static final String QRY_BD_ADDRESS           = "/service/sQryBandAddress.json";                        // 获取安装地址
        public static final String SAVE_BD_ORDER            = "/service/s1120PreOrdChg.json";                         // 保存订单
        public static final String VERIFY_EMP_CODE          = "/service/sGetLogInfoByPhn1.json";
        public static final String S_SMS_QRY_SCL            = "/sSmsQryScL";                                          // 归属地查询
        public static final String QUERY_EMP_CODE           = "/system/queryEmpCodeAndArea.jsonyEmpCodeAndArea.json"; // 工号校验接口
        public static final String GET_BD_ORDER             = "/service/sDynSvc.json";                                // 查询宽带预约订单数据
        public static final String QUERY_BAND_REORDER       = "/service/queryBandReorder.json";                       // 用于判断用户是否还有预约工单没有结单，若有则不能再行宽带预约。
        public static final String QUERY_RECOMMEND_BUSINESS = "/service/contactRecommend.json";                       // 营销顾问－获取推荐业务。
        public static final String CMCC_RECHARGE            = "/system/s8000CfmCard.json";                            // 充值缴费
        public static final String CMCC_OPEN_ACCOUNT        = "/business/rpc/rest/esb/sPubOpenUserZxt";               // 选号入网
        public static final String CHECK_IMEI               = "/business/rpc/esop/rest/sQryTermDetInfo";              // IMEI校验
        public static final String CMCC_GET_ACTIVITIES      = "/business/rpc/esop/rest/WsGetResourceRecordInfo";      // 终端获取活动
        public static final String CMCC_PROD_ORDER_CMIT     = "/terminal/s4035IntCfm.json";                           // 终端提交订单
        public static final String SAVE_GOV_BD_ORDER        = "/service/sBroadPreChg.json";                           // 保存商务动力宽带订单
        // ESB接口
        public static final String ESB_RECHARGE             = "s8000CfmCard";                                         // 充值缴费
        // 宽带开户
        public static final String sQBroadPortNum           = "/service/sQBroadPortNum.json";                         // 根据小区地址信息获取该小区可用端口数量
        public static final String COMMIT_BD_OPEN_ORDER     = "/broadband/s1365KdOpen.json";                          // 宽带开户提交订单
    }

    // 大掌柜 REST 接口地址
    public interface RestUrl{
        // 宽带预约
        public static final String SQCHKCUSTREAL    = "/business/rpc/esop/rest/sQChkCustReal";
        public static final String GET_BD_ORDER     = "/business/rpc/esop/rest/sDynSvc";
        public static final String QRY_BD_ADDRESS   = "/business/rpc/esop/rest/sQryBandAddress";
        public static final String BROAD_BAND_OPEN  = "/business/rpc/rest/esb/s1365KdOpen";     // 宽带开户
        public static final String VALIDATE_SM_CODE = "/sms/validate";
        // public static final String ESB_RECHARGE =
        // "/business/rpc/esop/rest/s8000CfmCard"; // 充值缴费，1.5.6版本后改为走rest透传接口了
        public static final String ESB_RECHARGE     = "/business/rpc/rest/esb/s8000Cfm";        // 1.6.1版本改用新的充值缴费接口，1.7.0版本由/esop/rest/路径改为/rest/esb/路径
    }

    /**
     * 亚信接口
     */
    public interface YaxinUrl{
        public static final String ZHISHIKU = "/CscAppService/CenterServlet"; // 知识库接口
    }

    public interface Cache{
        final static String ID_TOP     = "id_top";
        final static String ID_CHENGDU = "id_chengdu";
    }

    public interface PayPlat{
        final static int ALIPAY    = 14;
        final static int CCB       = 15;
        final static int UNION_PAY = 16;
    }

    public interface OrderStatus{
        final static int DEFAULT     = 2000; // 默认
        final static int WAIT_PAY    = 2001; // 待支付
        final static int WAIT_SHIP   = 2002; // 待发货
        final static int WAIT_FINISH = 2003; // 已发货
        final static int FINISHED    = 2004; // 已完成
        final static int REFUND      = 2005; // 退款
    }

    public interface MemberType{
        final static int DEFAULT = 0; // 店员
        final static int MANAGER = 1; // 客户经理
    }

    // 泛店员业务类型值
    public interface SpreadMemberAuthConfigBusinessType{
        public static final int THEME    = 10000;// 主题类型值
        public static final int ZDXS     = 1000; // 终端销售类型值
        public static final int KDYY     = 1001; // 宽带预约类型值
        public static final int KDKH     = 1002; // 宽带开户类型值
        public static final int XHRW     = 1003; // 选号入网、全号段选号入网类型值，由于选号入网、全号段选号入网取数据接口和传参一模一样，故，统一配置
        public static final int YXHDXHRW = 1004; // 营销活动选号入网类型值
    }
    // 店员业务类型值,同样的业务，请务必与上面泛店员取值一致
    public interface GeneralMemberAuthConfigBusinessType{
        public static final int XHRW     = 1003; // 选号入网、全号段选号入网类型值，由于选号入网、全号段选号入网取数据接口和传参一模一样，故，统一配置
        public static final int YXHDXHRW = 1004; // 营销活动选号入网类型值
    }

    public int                 ROLE_TYPE_SUPER_ADMIN         = 2;                                                     // 超级管理员
    public int                 ROLE_TYPE_ADMIN               = 20;                                                    // 管理员
    public int                 ROLE_TYPE_SUPPLIER_ADMIN      = 50;                                                    // 供应商管理员
    public int                 ROLE_TYPE_GOV_ENTERPRISE      = 51;                                                    // 供应商管理员

    public static final String CCB_ORDER_HINT_FOR_WEIZHIFU   = "<br>如收到银行扣款短信，但订单状态为“未支付”，请到“我的->消费记录”点击查询按钮，检查订单状态。";
    public static final String CCB_ORDER_HINT_FOR_REFUNED    = "<br>费用已退回到缴费银行卡，请注意查收";
    public static final String CCB_ORDER_HINT_FOR_PAY_FAILED = "<br>请确保银行卡正常，不支持信用卡支付";

}
